Recently a new class of computer has begun to emerge. This type of computer uses an electronically-sensed pen or stylus and handwriting recognition in place of a keyboard as the primary input device. Typically in such a pen-driven computer the movement of the stylus is tracked over a flat-screen bit-mapped display. As the computer tracks the stylus it displays images which mimic various real-world objects. In this way the interaction between the stylus and the screen simulates "paper", "ink", "push buttons," and other visual metaphors.
The present invention addresses the problem of controlling such a computer through a stylus. In this application the word stylus is used to mean a pen-like object whose position and contact with a surface can be continuously detected electronically. In the prior art it has been found that a computer can be made easier to use if it displays symbols that mimic the behavior of actual objects. For example, the Macintosh computer from Apple Computer uses simplified pictures or icons to represent documents, folders, and trash cans to present a metaphor for a desk top. The icons are manipulated by using a mouse to move a pointer on the screen to select and possibly drag these icons to new positions.
In the prior art the use of a mouse offers only a limited control vocabulary, basically pointing, dragging, clicking, and double clicking. More complex operations require the user to resort to the keyboard or choices from a menu. For example in a word processor program text is moved in a four step operation. First the desired phrase is selected by dragging the text cursor with the mouse, second the "cut" command is selected, third the text cursor is moved with the mouse, and fourth the "paste" command is selected. A copy operation requires a similar four-step process.
Certain systems substitute a stylus for a mouse, as described, for instance, in "Digitizing Tablets" PC Magazine, Nov. 28, 1989. Other systems have implemented stylus-controlled notepad computers, as described in "Linus Write-Top User's Guide" (1987) from Linus Technologies, Inc. of Reston, Va. and "Gridpad Computer Owner's Guide" (1990) from Grid Systems Corporation of Fremont, Calif. Each of the foregoing references is incorporated herein by reference.
In earlier systems, when a stylus has been used as a substitute for a mouse, the stylus emulates the limited behavior of a mouse with little or no change in the controlling software. The existing notepad computers also use the stylus in a limited way but add the recognition of handwritten input and one or two editing gestures which operate only within text.
There are problems in the initiation and termination of "input events" in these existing stylus-driven computers. For the purposes of this application, the term "input event" refers to one or more strokes which comprise one complete expression, such as a tap, caret, letter, word, or phrase. A "button" is a region of the display demarcated by shading or outline and sensitive to some small set of simple gestures such as tapping.
In certain systems (such as the Grid and Linus designs the mentioned above), an event begins when the stylus touches the front surface of the display. Input is then terminated in one of three ways: (a) by lifting the stylus from the surface; (b) by a series of strokes followed by a final lift of the stylus and lack of contact for a specific time interval, or "timeout"; or (c) by a series of strokes after which a specific region of the display (such as a button) is touched.
Typically, technique (a) is used when the input event is a simple gesture, such as tapping a button. Technique (a) can also be used to terminate the input of a single-stroke editing symbol such as a strike-through, circle, or caret.
Technique (b) would typically be used to signal the end of entry of a single character or multi-stroke editing gesture. To terminate the entry of many symbols reliably (where the operator can be expected to pause during input), option (c) must be used to explicitly indicate completion.
Each of these stylus (as opposed to mouse) techniques has its problems. In technique (a), the input event is typically begun by placing the stylus tip on a desired button or other feature. However, selection of an individual button is difficult when there are many small buttons close to one another. An example of this is in a "sketching" program, where objects are manipulated by tapping or dragging small buttons or "handles" at their extremities. In such a program, a rectangle would have handles at each corner while a curve would have handles at each inflection point. For a screen with many small objects or curves with many bends, the selection of a desired handle can be difficult, because there is no way to preview which handle is targeted.
An additional problem in accurate pointing with the stylus is the parallax caused by the separation of the surface that the stylus tip contacts and the active layer of the display. This problem is not found in mouse-based systems, because a cursor or arrow is drawn on the display to represent the position of the mouse.
Technique (a) cannot be used to recognize the end of a multi-stroke gesture or character. This forces the designer into the use of timeouts, i.e. technique (b). However, the use of timeouts does not provide as smooth an interaction with the user, because the interval is commonly either too long or too short for a given individual or circumstance. The user must be conscious of the timeout interval, and alternately feels that he must race through the input task or delay excessively at the completion of the task.
Given the limitations of these two techniques, designers using prior art were often forced into using technique (c): explicit termination by selecting a button. But using this technique yields a host of problems. Finding room on the display to locate such a button is often difficult. In one area where notepad computers will be applied--hand entry of data into electronic forms--it is desirable for these computer-simulated forms to look and act much like a paper form. Using prior art, a termination button must be provided to trigger recognition and validation of the user's input for each field. Thus, for a typical form containing many fields an unnecessary amount of space on the display is given over to these termination buttons.
In addition, a form requiring the triggering of a button upon completing entry in a given field does not act like a paper form; a paper form is different in that it is "mode-less," i.e. the user may skip from field to field at will. Thus, the use of technique (c) impairs the user interface by making it less intuitive.
The above summary shows that present computers do not fully exploit the possibilities of user interaction with a computer using a stylus.